﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using AG.Comunes.Entidades;
using AG.Comunes.Base;
using AG.Servicios.ServiciosAdministracionTaquilla;
using System.Data;

namespace AG.Modulos.AdministracionTaquilla
{
    public class ControladorAdministracionTaquilla : ControladorBase
    {
        private IServicioAdministracionTaquilla _servicios;

        public ControladorAdministracionTaquilla()
        {
            _servicios = new ServicioAdministracionTaquilla();
        }
        /// <summary>
        /// Metodo que valida el producto antes de ser guardado
        /// </summary>
        /// <param name="producto">Producto a guardar</param>
        /// <returns></returns>
        public bool GuardarProducto(Producto producto)
        {
            bool retorno;
            try
            {
                retorno = _servicios.GuardarProducto(producto);
            }
            catch
            {
                throw;
            }

            return retorno;
        }

        /// <summary>
        /// Metodo que valida los cambios del productos antes de modificarlo
        /// </summary>
        /// <param name="producto">producto a modificar</param>
        /// <returns></returns>
        public bool ModificarProducto(Producto producto)
        {
            bool retorno;
            try
            {
                retorno = _servicios.ModificarProducto(producto);
            }
            catch
            {
                throw;
            }

            return retorno;
        }

        /// <summary>
        /// Metodo que obtiene los productos
        /// </summary>
        /// <returns>DataSet lleno</returns>
        public DataSet ObtenerTodosLosProductos()
        {
            DataSet retorno;
            try
            {
                retorno = _servicios.ObtenerTodosLosProductos();
            }
            catch
            {
                throw;
            }

            return retorno;
        }
    }
}
